As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of content, application, and/or service providers are turning to multi-tenant, shared resource technologies. Cloud computing, for example, can provide customers with access to electronic resources through services, such as Web services, where the hardware and/or software used to support those services is dynamically scalable to meet the needs of the services at any given time. A customer typically will rent, lease, or otherwise pay for access to resources through the cloud, and thus does not have to purchase and maintain the hardware and/or software needed.
Such access comes with risks for providers of these shared resources, however, as there typically will be multiple users accessing the resources at various times. In cases where users have a virtual address space, such that the customer network functions as a single virtual network without the restrictions or additional addresses of one or more additional physical networks, it can be desirable to provide for the processing and routing of packets pertaining to this virtual address space. When customers have access to the devices, however, performing the routing and processing on a device can potentially enable the user to modify the routing or other such processing of the packets. Further, such functionality cannot easily be moved to many existing hardware devices that are not exposed to the user, for reasons such as size restrictions, protocol limitations, etc.